#include<unistd.h>
#include<pthread.h>
#include<stdio.h>

int tickets = 1000;//总共有1000张票
void* TicketGet(void* arg){
    const char* name = (char*)arg;
    while(1){
        if(tickets > 0){
            usleep(10000);
            printf("[%s],get a ticket,left:%d\n",name,--tickets);
        }
        else break;
    }
    printf("%s quit!!\n",name);
    return (void*)0;
}
int main(){
    pthread_t t1,t2,t3,t4;
    pthread_create(&t1,NULL,TicketGet,"Thread 1");
    pthread_create(&t2,NULL,TicketGet,"Thread 2");
    pthread_create(&t3,NULL,TicketGet,"Thread 3");
    pthread_create(&t4,NULL,TicketGet,"Thread 4");


    pthread_join(t1,NULL);
    pthread_join(t2,NULL);
    pthread_join(t3,NULL);
    pthread_join(t4,NULL);
    return 0;
}